#ifndef MEMORY_H
#define MEMORY_H

#include "Types.h"

#define MEMORY_INFO_SIZE 32

typedef struct MemoryInfo
{
    struct 
    {
        uint32_t start;
        uint32_t size;
    } memoryRegionArray[MEMORY_INFO_SIZE];
    uint32_t memoryRegionCount;
} MemoryInfoType;

// 这个定义下面会报错，是因为.vscode的配置文件中没有设置
typedef struct SystemManagementAddressMap
{
    uint32_t BaseL; // base address uint64_t
    uint32_t BaseH;
    uint32_t LengthL; // length uint64_t
    uint32_t LengthH;
    uint32_t Type; // entry Type
    uint32_t ACPI; // extended
}__attribute__((packed)) SystemManagementAddressMapType;


#endif